hmtkfandomcom-20200213-history
To-Do List
Below is a list of missing features, things you can contribute, and various changes that need to be made to complete HMTK. Missing Features *Female Players *Heart Events *Marriage *Children *Building Upgrades (and the Carpenter) *House Decorating *Festivals *Cooking *Eating *Hot Springs *The Basket *Wild Animals *Harvest Sprites *Changing Clothes *The Calendar *Horse Riding *Jumping *The Mailbox *Day/Night Shading *Footprints *The World Map *Fridge *Cabinet *Achivement Photographs *Fishing for Fossils and Treasure *Highlighting tiles targetted by tools What You Can Contribute *More animations *More sound effects and BGM *More villager dialog *More tiles, charsets, and other graphical resources *Recipes for the cooking system *Screenshots *Video walkthroughs *Tutorials *Code (see list below) Remaining Code Fixes and Additions *Make S key store an equipped tool or take one out of the bag *Make E key eat food items *Make Cheese, Yarn, and Mayo makers purchaseable at the tool shop/blacksmith *Move affection hearts based on face align *Add support for thought sequences. Darken everything but the face graphic and message box *Spawn chicken eggs below chickens correctly *Add ability to sell animals *Prevent an equipped tool from being used at the same time the player cancels a choice. Implement a brief automatic delay after cancelling in the message system *Fix error in ladder spawning when reaching the bottom of the mine *Fix bug where some crops, like potatoes, alter house tiles when fully grown *Implement higher stamina drain and sickness from working outside in the rain *Remove fodder and chicken feed events in favor of tiles *Implement chicken SE when waking up *Implement the bell *Make sure animals like chickens and the dog can't be placed in the bag *Move blacksmith's tool upgrade status text into a method and call it from the event *Add event_id to Animal objects to find the corresponding event without iterating *Finish name entry script *Enable player and animal naming in debug mode *Abstract Animal class to support all animals, such as livestock, pets, and wild animals *Prevent message box from disposing between each show text call unless there is no text left. May do a look ahead by command number in events, and use a flag that can be manually passed when showing text via code to indicate where the end is. *Add support for scrolling text automatically as dialog progresses, instead of clearing the box and rendering again from the top. *Implement 4 directional icons for animals you carry, such as chickens or the dog, that change as the player turns *Allow probabilities to be assigned to mine items based on floor number *Setup switches for all building upgrades, and a method in the next day function to update all structures *Add more text commands to the message system, such as \progress for tool upgrade progess and \lumber again for lumber count. Read these in from txt files and update programmatically when displaying the text *Update message system to support weather-based dialog *Simplify adding custom content, such as new villagers, items, animals, crops, etc, by moving data into simple txt files for editing by non-coders *Add support for multiple mines and mountain maps. Only stump spawning is dependent on current mountain logic *Fix dialog width (may need a box resizer, or retire Show Text support in favor of code only) *Fix error when interacting with a sick animal twice *Simplify event creation and spawning *Build a debug menu with helpful functions for testing, such as setting time, weather, date, teleporting to maps, giving themselves things like items, animals, and tools, and other features like instant item upgrades, affection manipulation, etc *Dump the standard animation system in favor of a more reliable custom system *Add support for animations with more or less than 4 frames, such as for the horse riding functionality *Display the villager's name in a small box when speaking with them (refer to HM:FoMT) *Provide support for two face graphics to demonstrate multiple characters carrying a conversation *Clean up tool code and finish implementing functionality *May programmatically build tool classes from txt files. Tile operations must be generic enough to support this *Can simplify tool logic by storing crops in a hash, with the keys being their position. For example, a crop at (2, 12) would have a key of 2x12y. Removes need to iterate *Optimize update logic to improve performance *Update input logic for player movement to remove any directional priority *Ensure that tool actions can be cancelled *Finish implementing terrain tag based jump feature. Add ability to jump over low mountain ledges (possibly through terrain tag and direction settings on the tileset itself) *Make rucksack expandable, and start with a smaller capacity. Render the slots dynamically *Make boulders and stumps spawned on farms more random, so they don't spawn in specific rows *The dog needs to be able to run, and be called by whistle (may need a pathfinder, and update dog logic every frame to force moment while the whistle flag is set) *Make weather effects more seamless. Calculate on map creation rather than on update *Implement emotion-based face graphics. Either support comments read by the interpreter (i.e. Comment: Happy), or something like $game_temp.face_emotion = "Happy" *Simplify face graphic rendering. Designate the face once on event start, and automatically clear it on event end. Handle scripts in a similar fashion *Handle face align like face graphics *Finish animal logic, such as aging, birth, mating, pregnancy, incubation, affection-based produce items, wandering, going outside/inside by pushing, eating grass, and sheep losing their wool when sheared *Cheese, Yarn, and Mayo makers are not barn or coop specific, and so will appear in any barn or coop that has the event. Consider spawning them instead with an anchor event *Implement incubator to hatch chicken eggs into baby chickens *Spawn house and other farm structures dynamically when a farm is selected *Implement a short delay after throwing an item, so you can't accidentally grab another at the same time *Implement crystals in the mine that yield gems when broken with the hammer, or add gems to rocks instead *Update the shipping dude's outdated move route. Consider a pathfinder instead of hard coding *Add a spawn_tile function to make tile changes simpler and cleaner *Move excessive logic out of Scene_Map, possibly into Game_Map.setup or transfer player calls *Add ability to cancel selection in the toolbox and rucksack without closing the menu *Abstract logic pertaining to buildings, such as barns, coops, greenhouses, and the player's house *Setup a Scene_Helper with common scene functionality, such as cursor logic and rucksack, item, tool, and help text rendering *May setup all menus as scenes, rather than rendering inside of Scene_Map *Ensure all images are disposing correctly *Update Crazyninjaguy's mouse script to prevent errors on F12 reset *Preload map data on new game, and generate farm debris before the player starts the first day *Add support for temporary events that are erased the next day? *Update message box to better support different font sizes *Add a good anti-lag script *Add a screen resolution script *May add Blizz Pixel Movement